package cn.iocoder.yudao.module.shop.service.memberpay;

import cn.iocoder.yudao.module.shop.controller.admin.memberpay.vo.ShopMemberPayCreateReqVO;
import cn.iocoder.yudao.module.shop.controller.admin.memberpay.vo.ShopMemberPayItemCreateReqVO;
import cn.iocoder.yudao.module.shop.controller.admin.memberpay.vo.ShopMemberPayItemUpdateReqVO;
import cn.iocoder.yudao.module.shop.dal.dataobject.memberpay.ShopMemberPayItemDO;

import javax.validation.Valid;
import java.util.Collection;
import java.util.List;

public interface ShopMemberPayItemService {
    /**
     * 创建每支价格
     *
     * @param payId 创建信息
     * @param memberId 创建信息
     * @return 编号
     */
    Long createMemberPayItem(Long payId, Long memberId);

    /**
     * 更新每支价格
     *
     * @param updateReqVO 创建信息
     * @return 编号
     */
    Long updpateMemberPayItem(@Valid ShopMemberPayItemUpdateReqVO updateReqVO);

    ShopMemberPayItemDO getMemberPayItemByMemberId(@Valid Long memberId);

    ShopMemberPayItemDO getMemberPayItemByMemberIdNoExp(@Valid Long memberId);

    List<ShopMemberPayItemDO> getMemberPayItemByMemberId(Collection<Long> memberIds);

    Long updateMemberPayItem(Long priceId, Long memberId);
}
